home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 10 / AACD 10.iso / AACD / Games / MAME / src / msdos / vgafreq.h < prev    next >
Text File  |  1999-09-18  |  16KB  |  367 lines

  1. /* Tweaked modes definitions */
  2.  
  3. /* ------------------------------------------------------------------------------------------------------- */
  4. /* NOTES:                                                                                                  */
  5. /* all horizontal/vertical retrace and blanking timings are genereted by - center_mode()        in video.c */
  6. /* all 'scanline' versions of tweaked modes are generated by             - make_scanline_mode() in video.c */
  7. /* ------------------------------------------------------------------------------------------------------- */
  8.  
  9. /* PC Monitor Tweaked Modes */
  10. /* ------------------------ */
  11.  
  12.  
  13. /* 224x288 - vertical mode */
  14. /* Dot Clock - 28MHz */
  15. /* Horizontal Scanrate ~ 35.0KHz*/
  16. /* Vertical Refresh Rate ~60Hz */
  17. /* Mode Type - Linear */
  18. /* Notes: uses a very high horizontal scanrate to fit 288 display lines into 60Hz refresh cycle */
  19. Register scr224x288[] =
  20. {
  21.     { 0x3c2, 0x00, 0xe7},{ 0x3d4, 0x00, 0x5f},{ 0x3d4, 0x01, 0x37},
  22.     { 0x3d4, 0x02, 0x38},{ 0x3d4, 0x03, 0x82},{ 0x3d4, 0x04, 0x49},
  23.     { 0x3d4, 0x05, 0x9a},{ 0x3d4, 0x06, 0x53},{ 0x3d4, 0x07, 0xf0},
  24.     { 0x3d4, 0x08, 0x00},{ 0x3d4, 0x09, 0x61},{ 0x3d4, 0x10, 0x40},
  25.     { 0x3d4, 0x11, 0xac},{ 0x3d4, 0x12, 0x3f},{ 0x3d4, 0x13, 0x1c},
  26.     { 0x3d4, 0x14, 0x40},{ 0x3d4, 0x15, 0x40},{ 0x3d4, 0x16, 0x4a},
  27.     { 0x3d4, 0x17, 0xa3},{ 0x3c4, 0x01, 0x01},{ 0x3c4, 0x04, 0x0e}
  28. };
  29.  
  30. /* 240x256 - vertical mode */
  31. /* Dot Clock - 28MHz */
  32. /* Horizontal Scanrate ~ 32.4KHz*/
  33. /* Vertical Refresh Rate ~60Hz */
  34. /* Mode Type - Linear */
  35. /* Notes: uses a high horizontal scanrate to fit 256 display lines into 60Hz refresh cycle */
  36. Register scr240x256[] =
  37. {
  38.     { 0x3c2, 0x00, 0xe7},{ 0x3D4, 0x00, 0x67},{ 0x3d4, 0x01, 0x3b},
  39.     { 0x3d4, 0x02, 0x40},{ 0x3D4, 0x03, 0x42},{ 0x3d4, 0x04, 0x4e},
  40.     { 0x3d4, 0x05, 0x9a},{ 0x3D4, 0x06, 0x23},{ 0x3d4, 0x07, 0xb2},
  41.     { 0x3d4, 0x08, 0x00},{ 0x3D4, 0x09, 0x61},{ 0x3d4, 0x10, 0x0a},
  42.     { 0x3d4, 0x11, 0xac},{ 0x3D4, 0x12, 0xff},{ 0x3d4, 0x13, 0x1e},
  43.     { 0x3d4, 0x14, 0x40},{ 0x3d4, 0x15, 0x07},{ 0x3D4, 0x16, 0x11},
  44.     { 0x3d4, 0x17, 0xa3},{ 0x3c4, 0x01, 0x01},{ 0x3c4, 0x04, 0x0e}
  45. };
  46.  
  47. /* 256x240 - horizontal mode */
  48. /* Dot Clock - 25MHz */
  49. /* Horizontal Scanrate ~ 34.7KHz*/
  50. /* Vertical Refresh Rate ~60Hz */
  51. /* Mode Type - Linear */
  52. Register scr256x240[] =
  53. {
  54.     { 0x3c2, 0x00, 0xe3},{ 0x3d4, 0x00, 0x55},{ 0x3d4, 0x01, 0x3f},
  55.     { 0x3d4, 0x02, 0x80},{ 0x3d4, 0x03, 0x90},{ 0x3d4, 0x04, 0x49},
  56.     { 0x3d4, 0x05, 0x80},{ 0x3D4, 0x06, 0x43},{ 0x3d4, 0x07, 0xb2},
  57.     { 0x3d4, 0x08, 0x00},{ 0x3D4, 0x09, 0x61},{ 0x3d4, 0x10, 0x04},
  58.     { 0x3d4, 0x11, 0xac},{ 0x3D4, 0x12, 0xdf},{ 0x3d4, 0x13, 0x20},
  59.     { 0x3d4, 0x14, 0x40},{ 0x3d4, 0x15, 0x07},{ 0x3D4, 0x16, 0x11},
  60.     { 0x3d4, 0x17, 0xa3},{ 0x3c4, 0x01, 0x01},{ 0x3c4, 0x04, 0x0e}
  61. };
  62.  
  63. /* 256x256 - vertical mode */
  64. /* Dot Clock - 28MHz */
  65. /* Horizontal Scanrate ~ 31KHz*/
  66. /* Vertical Refresh Rate ~57Hz */
  67. /* Mode Type - Linear */
  68. /* Notes: uses a faster dot clock than horizontal the 256x256 mode to make a thinner display */
  69. Register scr256x256[] =
  70. {
  71.     { 0x3c2, 0x00, 0xe7},{ 0x3D4, 0x00, 0x6c},{ 0x3d4, 0x01, 0x3f},
  72.     { 0x3d4, 0x02, 0x40},{ 0x3D4, 0x03, 0x42},{ 0x3d4, 0x04, 0x51},
  73.     { 0x3d4, 0x05, 0x9a},{ 0x3D4, 0x06, 0x23},{ 0x3d4, 0x07, 0xb2},
  74.     { 0x3d4, 0x08, 0x00},{ 0x3D4, 0x09, 0x61},{ 0x3d4, 0x10, 0x0a},
  75.     { 0x3d4, 0x11, 0xac},{ 0x3D4, 0x12, 0xff},{ 0x3d4, 0x13, 0x20},
  76.     { 0x3d4, 0x14, 0x40},{ 0x3d4, 0x15, 0x07},{ 0x3D4, 0x16, 0x11},
  77.     { 0x3d4, 0x17, 0xa3},{ 0x3c4, 0x01, 0x01},{ 0x3c4, 0x04, 0x0e}
  78. };
  79.  
  80. /* 256x256 - horizontal mode */
  81. /* Dot Clock - 25MHz */
  82. /* Horizontal Scanrate ~34.7KHz*/
  83. /* Vertical Refresh Rate ~57Hz */
  84. /* Mode Type - Linear */
  85. Register scr256x256hor[] =
  86. {
  87.     { 0x3c2, 0x00, 0xe3},{ 0x3d4, 0x00, 0x55},{ 0x3d4, 0x01, 0x3f},
  88.     { 0x3d4, 0x02, 0x40},{ 0x3d4, 0x03, 0x90},{ 0x3d4, 0x04, 0x49},
  89.     { 0x3d4, 0x05, 0x80},{ 0x3D4, 0x06, 0x60},{ 0x3d4, 0x07, 0xb2},
  90.     { 0x3d4, 0x08, 0x00},{ 0x3D4, 0x09, 0x61},{ 0x3d4, 0x10, 0x28},
  91.     { 0x3d4, 0x11, 0xac},{ 0x3D4, 0x12, 0xff},{ 0x3d4, 0x13, 0x20},
  92.     { 0x3d4, 0x14, 0x40},{ 0x3d4, 0x15, 0x07},{ 0x3D4, 0x16, 0x11},
  93.     { 0x3d4, 0x17, 0xa3},{ 0x3c4, 0x01, 0x01},{ 0x3c4, 0x04, 0x0e}
  94. };
  95.  
  96.  
  97. /* 288x224 - horizontal mode */
  98. /* Dot Clock - 25MHz */
  99. /* Horizontal Scanrate ~31.2KHz*/
  100. /* Vertical Refresh Rate ~60Hz */
  101. /* Mode Type - Linear */
  102. Register scr288x224[] =
  103. {
  104.     { 0x3c2, 0x00, 0xe3},{ 0x3d4, 0x00, 0x5f},{ 0x3d4, 0x01, 0x47},
  105.     { 0x3d4, 0x02, 0x49},{ 0x3d4, 0x03, 0x90},{ 0x3d4, 0x04, 0x50},
  106.     { 0x3d4, 0x05, 0x80},{ 0x3d4, 0x06, 0x0c},{ 0x3d4, 0x07, 0x3e},
  107.     { 0x3d4, 0x08, 0x00},{ 0x3d4, 0x09, 0x41},{ 0x3d4, 0x10, 0xd8},
  108.     { 0x3d4, 0x11, 0xac},{ 0x3d4, 0x12, 0xbf},{ 0x3d4, 0x13, 0x24},
  109.     { 0x3d4, 0x14, 0x40},{ 0x3d4, 0x15, 0xc2},{ 0x3d4, 0x16, 0xf4},
  110.     { 0x3d4, 0x17, 0xa3},{ 0x3c4, 0x01, 0x01},{ 0x3c4, 0x04, 0x0e}
  111. };
  112.  
  113. /* 240x320 - vertical mode */
  114. /* Dot Clock - 28MHz */
  115. /* Horizontal Scanrate ~36.8KHz*/
  116. /* Vertical Refresh Rate ~56Hz */
  117. /* Mode Type - Planar */
  118. /* Notes: uses a very high horizontal scanrate to fit 320 display lines into 56Hz refresh cycle */
  119. Register scr240x320[] =
  120. {
  121.     { 0x3c2, 0x00, 0xe7},{ 0x3d4, 0x00, 0x5a},{ 0x3d4, 0x01, 0x3b},
  122.     { 0x3d4, 0x02, 0x3c},{ 0x3d4, 0x03, 0x96},{ 0x3d4, 0x04, 0x47},
  123.     { 0x3d4, 0x05, 0x14},{ 0x3d4, 0x06, 0x8c},{ 0x3d4, 0x07, 0xf0},
  124.     { 0x3d4, 0x08, 0x00},{ 0x3d4, 0x09, 0x61},{ 0x3d4, 0x10, 0x80},
  125.     { 0x3d4, 0x11, 0x92},{ 0x3d4, 0x12, 0x7f},{ 0x3d4, 0x13, 0x1e},
  126.     { 0x3d4, 0x14, 0x00},{ 0x3d4, 0x15, 0x80},{ 0x3d4, 0x16, 0x84},
  127.     { 0x3d4, 0x17, 0xe3},{ 0x3c4, 0x01, 0x01},{ 0x3c4, 0x04, 0x06}
  128. };
  129.  
  130. /* 320x240 - horizontal mode */
  131. /* Dot Clock - 25MHz */
  132. /* Horizontal Scanrate ~ 31.2KHz*/
  133. /* Vertical Refresh Rate ~60Hz */
  134. /* Mode Type - Planar */
  135. Register scr320x240[] =
  136. {
  137.     { 0x3c2, 0x00, 0xe3},{ 0x3d4, 0x00, 0x5f},{ 0x3d4, 0x01, 0x4f},
  138.     { 0x3d4, 0x02, 0x50},{ 0x3d4, 0x03, 0x82},{ 0x3d4, 0x04, 0x54},
  139.     { 0x3d4, 0x05, 0x80},{ 0x3d4, 0x06, 0x0c},{ 0x3d4, 0x07, 0x3e},
  140.     { 0x3d4, 0x08, 0x00},{ 0x3d4, 0x09, 0x41},{ 0x3d4, 0x10, 0xe9},
  141.     { 0x3d4, 0x11, 0xac},{ 0x3d4, 0x12, 0xdf},{ 0x3d4, 0x13, 0x28},
  142.     { 0x3d4, 0x14, 0x00},{ 0x3d4, 0x15, 0xe7},{ 0x3d4, 0x16, 0x06},
  143.     { 0x3d4, 0x17, 0xe3},{ 0x3c4, 0x01, 0x01},{ 0x3c4, 0x04, 0x06}
  144. };
  145.  
  146. /* 336x240 - horizontal mode */
  147. /* Dot Clock - 25MHz */
  148. /* Horizontal Scanrate ~ 31.2KHz*/
  149. /* Vertical Refresh Rate ~60Hz */
  150. /* Mode Type - Planar */
  151. Register scr336x240[] =
  152. {
  153.     { 0x3c2, 0x00, 0xe3},{ 0x3d4, 0x00, 0x5f},{ 0x3d4, 0x01, 0x53},
  154.     { 0x3d4, 0x02, 0x56},{ 0x3d4, 0x03, 0x80},{ 0x3d4, 0x04, 0x57},
  155.     { 0x3d4, 0x05, 0x9b},{ 0x3d4, 0x06, 0x0c},{ 0x3d4, 0x07, 0x3e},
  156.     { 0x3d4, 0x08, 0x00},{ 0x3d4, 0x09, 0x41},{ 0x3d4, 0x10, 0xe5},
  157.     { 0x3d4, 0x11, 0xac},{ 0x3d4, 0x12, 0xdf},{ 0x3d4, 0x13, 0x2a},
  158.     { 0x3d4, 0x14, 0x00},{ 0x3d4, 0x15, 0xe8},{ 0x3d4, 0x16, 0x02},
  159.     { 0x3d4, 0x17, 0xe3},{ 0x3c4, 0x01, 0x01},{ 0x3c4, 0x04, 0x06}
  160. };
  161.  
  162. /* 384x224 - horizontal mode */
  163. /* Dot Clock - 28MHz */
  164. /* Horizontal Scanrate ~ 31KHz*/
  165. /* Vertical Refresh Rate ~60Hz */
  166. /* Mode Type - Planar */
  167. /* Notes: this mode is basically identical to 384x240, but allows VGA triple buffering */
  168. Register scr384x224[] =
  169. {
  170.     { 0x3c2, 0x00, 0xe7},{ 0x3d4, 0x00, 0x6c},{ 0x3d4, 0x01, 0x5f},
  171.     { 0x3d4, 0x02, 0x61},{ 0x3d4, 0x03, 0x8b},{ 0x3d4, 0x04, 0x62},
  172.     { 0x3d4, 0x05, 0x86},{ 0x3d4, 0x06, 0x0c},{ 0x3d4, 0x07, 0x3e},
  173.     { 0x3d4, 0x08, 0x00},{ 0x3d4, 0x09, 0x41},{ 0x3d4, 0x10, 0xd8},
  174.     { 0x3d4, 0x11, 0xac},{ 0x3d4, 0x12, 0xbf},{ 0x3d4, 0x13, 0x30},
  175.     { 0x3d4, 0x14, 0x00},{ 0x3d4, 0x15, 0xc2},{ 0x3d4, 0x16, 0xf4},
  176.     { 0x3d4, 0x17, 0xe3},{ 0x3c4, 0x01, 0x01},{ 0x3c4, 0x04, 0x06}
  177. };
  178.  
  179. /* 384x240 - horizontal mode */
  180. /* Dot Clock - 28MHz */
  181. /* Horizontal Scanrate ~ 31KHz*/
  182. /* Vertical Refresh Rate ~60Hz */
  183. /* Mode Type - Planar */
  184. Register scr384x240[] =
  185. {
  186.     { 0x3c2, 0x00, 0xe7},{ 0x3d4, 0x00, 0x6c},{ 0x3d4, 0x01, 0x5f},
  187.     { 0x3d4, 0x02, 0x61},{ 0x3d4, 0x03, 0x8b},{ 0x3d4, 0x04, 0x62},
  188.     { 0x3d4, 0x05, 0x86},{ 0x3d4, 0x06, 0x0c},{ 0x3d4, 0x07, 0x3e},
  189.     { 0x3d4, 0x08, 0x00},{ 0x3d4, 0x09, 0x41},{ 0x3d4, 0x10, 0xe9},
  190.     { 0x3d4, 0x11, 0xac},{ 0x3d4, 0x12, 0xdf},{ 0x3d4, 0x13, 0x30},
  191.     { 0x3d4, 0x14, 0x00},{ 0x3d4, 0x15, 0xe8},{ 0x3d4, 0x16, 0x04},
  192.     { 0x3d4, 0x17, 0xe3},{ 0x3c4, 0x01, 0x01},{ 0x3c4, 0x04, 0x06}
  193. };
  194.  
  195. /* 384x256 - horizontal mode */
  196. /* Dot Clock - 28MHz */
  197. /* Horizontal Scanrate ~ 31KHz*/
  198. /* Vertical Refresh Rate ~57Hz */
  199. /* Mode Type - Planar */
  200. Register scr384x256[] =
  201. {
  202.     { 0x3c2, 0x00, 0xe7},{ 0x3d4, 0x00, 0x6c},{ 0x3d4, 0x01, 0x5f},
  203.     { 0x3d4, 0x02, 0x61},{ 0x3d4, 0x03, 0x8b},{ 0x3d4, 0x04, 0x62},
  204.     { 0x3d4, 0x05, 0x86},{ 0x3D4, 0x06, 0x23},{ 0x3d4, 0x07, 0x36},
  205.     { 0x3d4, 0x08, 0x00},{ 0x3D4, 0x09, 0x61},{ 0x3d4, 0x10, 0xff},
  206.     { 0x3d4, 0x11, 0xac},{ 0x3D4, 0x12, 0xff},{ 0x3d4, 0x13, 0x30},
  207.     { 0x3d4, 0x14, 0x00},{ 0x3d4, 0x15, 0x07},{ 0x3D4, 0x16, 0x11},
  208.     { 0x3d4, 0x17, 0xe3},{ 0x3c4, 0x01, 0x01},{ 0x3c4, 0x04, 0x06}
  209. };
  210.  
  211.  
  212.  
  213.  
  214. /* Arcade Monitor/TV Tweaked Modes */
  215. /* --------------------------------*/
  216.  
  217. Register scr224x288_15KHz[] =
  218. {
  219.     { 0x3c2, 0x00, 0xe3},{ 0x3d4, 0x00, 0x5d},{ 0x3d4, 0x01, 0x37},
  220.     { 0x3d4, 0x02, 0x37},{ 0x3d4, 0x03, 0x82},{ 0x3d4, 0x04, 0x42},
  221.     { 0x3d4, 0x05, 0x96},{ 0x3d4, 0x06, 0x38},{ 0x3d4, 0x07, 0x1f},
  222.     { 0x3d4, 0x08, 0x00},{ 0x3d4, 0x09, 0x40},{ 0x3d4, 0x10, 0x21},
  223.     { 0x3d4, 0x11, 0xbf},{ 0x3d4, 0x12, 0x1f},{ 0x3d4, 0x13, 0x1c},
  224.     { 0x3d4, 0x14, 0x00},{ 0x3d4, 0x15, 0x22},{ 0x3d4, 0x16, 0x28},
  225.     { 0x3d4, 0x17, 0xe3},{ 0x3c4, 0x01, 0x09},{ 0x3c4, 0x04, 0x06}
  226. };
  227.  
  228. Register scr256x240_15KHz[] =
  229. {
  230.     { 0x3c2, 0x00, 0xe3},{ 0x3d4, 0x00, 0x5d},{ 0x3d4, 0x01, 0x3f},
  231.     { 0x3d4, 0x02, 0x40},{ 0x3d4, 0x03, 0x97},{ 0x3d4, 0x04, 0x47},
  232.     { 0x3d4, 0x05, 0x13},{ 0x3d4, 0x06, 0x09},{ 0x3d4, 0x07, 0x11},
  233.     { 0x3d4, 0x08, 0x00},{ 0x3d4, 0x09, 0x40},{ 0x3d4, 0x10, 0xf2},
  234.     { 0x3d4, 0x11, 0xa4},{ 0x3d4, 0x12, 0xef},{ 0x3d4, 0x13, 0x20},
  235.     { 0x3d4, 0x14, 0x00},{ 0x3d4, 0x15, 0xf0},{ 0x3d4, 0x16, 0xf2},
  236.     { 0x3d4, 0x17, 0xe3},{ 0x3c4, 0x01, 0x09},{ 0x3c4, 0x04, 0x06}
  237. };
  238.  
  239. Register scr256x256_15KHz[] =
  240. {
  241.     { 0x3c2, 0x00, 0xe3},{ 0x3d4, 0x00, 0x5d},{ 0x3d4, 0x01, 0x3f},
  242.     { 0x3d4, 0x02, 0x40},{ 0x3d4, 0x03, 0x97},{ 0x3d4, 0x04, 0x47},
  243.     { 0x3d4, 0x05, 0x13},{ 0x3d4, 0x06, 0x17},{ 0x3d4, 0x07, 0x1d},
  244.     { 0x3d4, 0x08, 0x00},{ 0x3d4, 0x09, 0x40},{ 0x3d4, 0x10, 0x00},
  245.     { 0x3d4, 0x11, 0xa2},{ 0x3d4, 0x12, 0xff},{ 0x3d4, 0x13, 0x20},
  246.     { 0x3d4, 0x14, 0x00},{ 0x3d4, 0x15, 0x01},{ 0x3d4, 0x16, 0x0c},
  247.     { 0x3d4, 0x17, 0xe3},{ 0x3c4, 0x01, 0x09},{ 0x3c4, 0x04, 0x06}
  248. };
  249.  
  250. Register scr288x224_15KHz[] =
  251. {
  252.     { 0x3c2, 0x00, 0xe3},{ 0x3d4, 0x00, 0x5d},{ 0x3d4, 0x01, 0x47},
  253.     { 0x3d4, 0x02, 0x47},{ 0x3d4, 0x03, 0x90},{ 0x3d4, 0x04, 0x4c},
  254.     { 0x3d4, 0x05, 0x16},{ 0x3d4, 0x06, 0x09},{ 0x3d4, 0x07, 0x11},
  255.     { 0x3d4, 0x08, 0x00},{ 0x3d4, 0x09, 0x40},{ 0x3d4, 0x10, 0xeb},
  256.     { 0x3d4, 0x11, 0xa2},{ 0x3d4, 0x12, 0xdf},{ 0x3d4, 0x13, 0x24},
  257.     { 0x3d4, 0x14, 0x00},{ 0x3d4, 0x15, 0xe2},{ 0x3d4, 0x16, 0x02},
  258.     { 0x3d4, 0x17, 0xe3},{ 0x3c4, 0x01, 0x09},{ 0x3c4, 0x04, 0x06}
  259. };
  260.  
  261.  
  262.  
  263. Register scr320x240_15KHz[] =
  264. {
  265.     { 0x3c2, 0x00, 0xe7},{ 0x3d4, 0x00, 0x69},{ 0x3d4, 0x01, 0x4f},
  266.     { 0x3d4, 0x02, 0x4f},{ 0x3d4, 0x03, 0x91},{ 0x3d4, 0x04, 0x55},
  267.     { 0x3d4, 0x05, 0x1f},{ 0x3d4, 0x06, 0x09},{ 0x3d4, 0x07, 0x11},
  268.     { 0x3d4, 0x08, 0x00},{ 0x3d4, 0x09, 0x40},{ 0x3d4, 0x10, 0xf2},
  269.     { 0x3d4, 0x11, 0xa4},{ 0x3d4, 0x12, 0xef},{ 0x3d4, 0x13, 0x28},
  270.     { 0x3d4, 0x14, 0x00},{ 0x3d4, 0x15, 0xf0},{ 0x3d4, 0x16, 0xf2},
  271.     { 0x3d4, 0x17, 0xe3},{ 0x3c4, 0x01, 0x09},{ 0x3c4, 0x04, 0x06}
  272. };
  273.  
  274. /* PAL/SECAM version of above */
  275. Register scr320x256_15KHz[] =
  276. {
  277.     { 0x3c2, 0x00, 0xe7},{ 0x3d4, 0x00, 0x69},{ 0x3d4, 0x01, 0x4f},
  278.     { 0x3d4, 0x02, 0x4f},{ 0x3d4, 0x03, 0x91},{ 0x3d4, 0x04, 0x55},
  279.     { 0x3d4, 0x05, 0x1f},{ 0x3d4, 0x06, 0x17},{ 0x3d4, 0x07, 0x1d},
  280.     { 0x3d4, 0x08, 0x00},{ 0x3d4, 0x09, 0x40},{ 0x3d4, 0x10, 0x00},
  281.     { 0x3d4, 0x11, 0xa4},{ 0x3d4, 0x12, 0xff},{ 0x3d4, 0x13, 0x28},
  282.     { 0x3d4, 0x14, 0x00},{ 0x3d4, 0x15, 0x01},{ 0x3d4, 0x16, 0x0c},
  283.     { 0x3d4, 0x17, 0xe3},{ 0x3c4, 0x01, 0x09},{ 0x3c4, 0x04, 0x06}
  284. };
  285.  
  286. Register scr352x240_15KHz[] =
  287. {
  288.     { 0x3c2, 0x00, 0xe7},{ 0x3d4, 0x00, 0x6a},{ 0x3d4, 0x01, 0x57},
  289.     { 0x3d4, 0x02, 0x57},{ 0x3d4, 0x03, 0x81},{ 0x3d4, 0x04, 0x59},
  290.     { 0x3d4, 0x05, 0x03},{ 0x3d4, 0x06, 0x09},{ 0x3d4, 0x07, 0x11},
  291.     { 0x3d4, 0x08, 0x00},{ 0x3d4, 0x09, 0x40},{ 0x3d4, 0x10, 0xf2},
  292.     { 0x3d4, 0x11, 0xa4},{ 0x3d4, 0x12, 0xef},{ 0x3d4, 0x13, 0x2c},
  293.     { 0x3d4, 0x14, 0x00},{ 0x3d4, 0x15, 0xf0},{ 0x3d4, 0x16, 0xf2},
  294.     { 0x3d4, 0x17, 0xe3},{ 0x3c4, 0x01, 0x09},{ 0x3c4, 0x04, 0x06}
  295. };
  296.  
  297.  
  298. /* PAL/SECAM version of above */
  299. Register scr352x256_15KHz[] =
  300. {
  301.     { 0x3c2, 0x00, 0xe7},{ 0x3d4, 0x00, 0x6a},{ 0x3d4, 0x01, 0x57},
  302.     { 0x3d4, 0x02, 0x57},{ 0x3d4, 0x03, 0x81},{ 0x3d4, 0x04, 0x59},
  303.     { 0x3d4, 0x05, 0x03},{ 0x3d4, 0x06, 0x17},{ 0x3d4, 0x07, 0x1d},
  304.     { 0x3d4, 0x08, 0x00},{ 0x3d4, 0x09, 0x40},{ 0x3d4, 0x10, 0x00},
  305.     { 0x3d4, 0x11, 0xa4},{ 0x3d4, 0x12, 0xff},{ 0x3d4, 0x13, 0x2c},
  306.     { 0x3d4, 0x14, 0x00},{ 0x3d4, 0x15, 0x01},{ 0x3d4, 0x16, 0x0c},
  307.     { 0x3d4, 0x17, 0xe3},{ 0x3c4, 0x01, 0x09},{ 0x3c4, 0x04, 0x06}
  308. };
  309.  
  310. /* 368x224 mode put back in - as it allows triple buffering */
  311. Register scr368x224_15KHz[] =
  312. {
  313.     { 0x3c2, 0x00, 0xe7},{ 0x3d4, 0x00, 0x6a},{ 0x3d4, 0x01, 0x5b},
  314.     { 0x3d4, 0x02, 0x5b},{ 0x3d4, 0x03, 0x87},{ 0x3d4, 0x04, 0x5c},
  315.     { 0x3d4, 0x05, 0x03},{ 0x3d4, 0x06, 0x09},{ 0x3d4, 0x07, 0x11},
  316.     { 0x3d4, 0x08, 0x00},{ 0x3d4, 0x09, 0x40},{ 0x3d4, 0x10, 0xeb},
  317.     { 0x3d4, 0x11, 0xa2},{ 0x3d4, 0x12, 0xdf},{ 0x3d4, 0x13, 0x2e},
  318.     { 0x3d4, 0x14, 0x00},{ 0x3d4, 0x15, 0xe2},{ 0x3d4, 0x16, 0x02},
  319.     { 0x3d4, 0x17, 0xe3},{ 0x3c4, 0x01, 0x09},{ 0x3c4, 0x04, 0x06}
  320. };
  321.  
  322. Register scr368x240_15KHz[] =
  323. {
  324.     { 0x3c2, 0x00, 0xe7},{ 0x3d4, 0x00, 0x6a},{ 0x3d4, 0x01, 0x5b},
  325.     { 0x3d4, 0x02, 0x5b},{ 0x3d4, 0x03, 0x87},{ 0x3d4, 0x04, 0x5c},
  326.     { 0x3d4, 0x05, 0x03},{ 0x3d4, 0x06, 0x09},{ 0x3d4, 0x07, 0x11},
  327.     { 0x3d4, 0x08, 0x00},{ 0x3d4, 0x09, 0x40},{ 0x3d4, 0x10, 0xf2},
  328.     { 0x3d4, 0x11, 0xa4},{ 0x3d4, 0x12, 0xef},{ 0x3d4, 0x13, 0x2e},
  329.     { 0x3d4, 0x14, 0x00},{ 0x3d4, 0x15, 0xf0},{ 0x3d4, 0x16, 0xf2},
  330.     { 0x3d4, 0x17, 0xe3},{ 0x3c4, 0x01, 0x09},{ 0x3c4, 0x04, 0x06}
  331. };
  332.  
  333.  
  334. Register scr368x256_15KHz[] =
  335. {
  336.     { 0x3c2, 0x00, 0xe7},{ 0x3d4, 0x00, 0x6a},{ 0x3d4, 0x01, 0x5b},
  337.     { 0x3d4, 0x02, 0x5b},{ 0x3d4, 0x03, 0x87},{ 0x3d4, 0x04, 0x5c},
  338.     { 0x3d4, 0x05, 0x03},{ 0x3d4, 0x06, 0x17},{ 0x3d4, 0x07, 0x1d},
  339.     { 0x3d4, 0x08, 0x00},{ 0x3d4, 0x09, 0x40},{ 0x3d4, 0x10, 0x00},
  340.     { 0x3d4, 0x11, 0xa2},{ 0x3d4, 0x12, 0xff},{ 0x3d4, 0x13, 0x2e},
  341.     { 0x3d4, 0x14, 0x00},{ 0x3d4, 0x15, 0x01},{ 0x3d4, 0x16, 0x0c},
  342.     { 0x3d4, 0x17, 0xe3},{ 0x3c4, 0x01, 0x09},{ 0x3c4, 0x04, 0x06}
  343. };
  344.  
  345. /* next 2 modes are for double monitor games and 'half y' modes */
  346. Register scr512x224_15KHz[] =
  347. {
  348.     { 0x3c2, 0x00, 0xe3},{ 0x3d4, 0x00, 0xbf},{ 0x3d4, 0x01, 0x7f},
  349.     { 0x3d4, 0x02, 0x7f},{ 0x3d4, 0x03, 0x94},{ 0x3d4, 0x04, 0x90},
  350.     { 0x3d4, 0x05, 0x84},{ 0x3d4, 0x06, 0x09},{ 0x3d4, 0x07, 0x11},
  351.     { 0x3d4, 0x08, 0x00},{ 0x3d4, 0x09, 0x40},{ 0x3d4, 0x10, 0xeb},
  352.     { 0x3d4, 0x11, 0xa2},{ 0x3d4, 0x12, 0xdf},{ 0x3d4, 0x13, 0x40},
  353.     { 0x3d4, 0x14, 0x00},{ 0x3d4, 0x15, 0xe2},{ 0x3d4, 0x16, 0x02},
  354.     { 0x3d4, 0x17, 0xe3},{ 0x3c4, 0x01, 0x01},{ 0x3c4, 0x04, 0x06}
  355. };
  356.  
  357. Register scr512x256_15KHz[] =
  358. {
  359.     { 0x3c2, 0x00, 0xe3},{ 0x3d4, 0x00, 0xbf},{ 0x3d4, 0x01, 0x7f},
  360.     { 0x3d4, 0x02, 0x7f},{ 0x3d4, 0x03, 0x94},{ 0x3d4, 0x04, 0x90},
  361.     { 0x3d4, 0x05, 0x84},{ 0x3d4, 0x06, 0x17},{ 0x3d4, 0x07, 0x1d},
  362.     { 0x3d4, 0x08, 0x00},{ 0x3d4, 0x09, 0x40},{ 0x3d4, 0x10, 0x00},
  363.     { 0x3d4, 0x11, 0xa2},{ 0x3d4, 0x12, 0xff},{ 0x3d4, 0x13, 0x40},
  364.     { 0x3d4, 0x14, 0x00},{ 0x3d4, 0x15, 0x01},{ 0x3d4, 0x16, 0x0c},
  365.     { 0x3d4, 0x17, 0xe3},{ 0x3c4, 0x01, 0x01},{ 0x3c4, 0x04, 0x06}
  366. };
  367.